-- *****************************************************************
-- REDSTONE-RADIUS-CLIENT-MIB
--
-- Redstone Communications Inc. Enterprise MIB
-- RADIUS Client MIB
--
-- Copyright 1999 Redstone Communications, Incorporated.
-- All Rights Reserved.
-- *****************************************************************

REDSTONE-RADIUS-CLIENT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, 
    OBJECT-TYPE, 
    OBJECT-IDENTITY,
    Counter32, 
    Integer32, 
    Gauge32,
    IpAddress, 
    TimeTicks
        FROM SNMPv2-SMI

    DisplayString,
    RowStatus
        FROM SNMPv2-TC

    MODULE-COMPLIANCE, 
    OBJECT-GROUP  
        FROM SNMPv2-CONF

    rsMgmt
                FROM REDSTONE-SMI;


rsRadiusClientMIB MODULE-IDENTITY
    LAST-UPDATED "9906010000Z"
    ORGANIZATION "Redstone Communications Inc."
        CONTACT-INFO
        "
        Redstone Communications, Inc.
                5 Carlisle Road
        Westford MA 01886
        USA
        Tel:    +1-978-692-1999
                Email:  mib@redstonecom.com
        "
        DESCRIPTION
                "The RADIUS Client MIB for the 
                Redstone Communications Inc. enterprise."
        REVISION      "9906010000Z"
        DESCRIPTION
                "Initial version of this MIB module, derived 
        from IETF Internet Drafts of RADIUS Client MIBs
        for Authentication and Accounting."
    ::= { rsMgmt 19 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Textual conventions
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No textual conventions are defined in this MIB



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed object groups
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


rsRadiusClientObjects       OBJECT IDENTIFIER ::= {rsRadiusClientMIB 1}

rsRadiusGeneralClient       OBJECT IDENTIFIER ::= { rsRadiusClientObjects 1 }
rsRadiusAuthClient          OBJECT IDENTIFIER ::= { rsRadiusClientObjects 2 }
rsRadiusAcctClient           OBJECT IDENTIFIER ::= { rsRadiusClientObjects 3 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects for RADIUS General
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRadiusClientIdentifier OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The NAS-Identifier of the RADIUS client."
    ::= { rsRadiusGeneralClient 1 }

rsRadiusClientAlgorithm OBJECT-TYPE
    SYNTAX      INTEGER {
                    direct(0),
                    roundRobin(1)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The algorithm used by the client when multiple
        authentication/accounting servers are configured:

        direct      Use servers in order of precedence, each time
                    beginning with the highest precedence server and
                    proceeding to lower precedence servers if the
                    the RADIUS request fails, until the request
                    succeeds or all servers have been tried.

        roundRobin  Use servers in round-robin order, each time
                    beginning with the next round-robin-ordered
                    server and proceeding cyclically through servers
                    if the RADIUS request fails, until the request
                    succeeds or all servers have been tried."
    ::= { rsRadiusGeneralClient 2 }

rsRadiusClientSourceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The source address used by the RADIUS client in requests to the
         RADIUS server.  The RADIUS server returns responses from this
         address."
    ::= { rsRadiusGeneralClient 3}

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects for RADIUS Authentication
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRadiusAuthClientInvalidServerAddresses OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Access-Response packets
        received from unknown addresses."
    ::= { rsRadiusAuthClient 1 }

--
-- Statistics for RADIUS authentication servers
-- 
rsRadiusAuthClientServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsRadiusAuthClientServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The (conceptual) table listing the RADIUS authentication
        servers with which the client shares a secret."
    ::= { rsRadiusAuthClient 2 }

rsRadiusAuthClientServerEntry OBJECT-TYPE
    SYNTAX      RsRadiusAuthClientServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry (conceptual row) representing a RADIUS
        authentication server with which the client shares a secret."
    INDEX      { rsRadiusAuthClientServerAddress }
    ::= { rsRadiusAuthClientServerTable 1 }

RsRadiusAuthClientServerEntry ::= SEQUENCE {
    rsRadiusAuthClientServerAddress                   IpAddress,
    rsRadiusAuthClientServerPortNumber                Integer32,
    rsRadiusAuthClientRoundTripTime                   TimeTicks,
    rsRadiusAuthClientAccessRequests                  Counter32,
    rsRadiusAuthClientAccessRetransmissions           Counter32,
    rsRadiusAuthClientAccessAccepts                   Counter32,
    rsRadiusAuthClientAccessRejects                   Counter32,
    rsRadiusAuthClientAccessChallenges                Counter32,
    rsRadiusAuthClientMalformedAccessResponses        Counter32,
    rsRadiusAuthClientBadAuthenticators               Counter32,
    rsRadiusAuthClientPendingRequests                 Gauge32,
    rsRadiusAuthClientTimeouts                        Counter32,
    rsRadiusAuthClientUnknownTypes                    Counter32,
    rsRadiusAuthClientPacketsDropped                  Counter32
}

rsRadiusAuthClientServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP address of the RADIUS authentication server
        referred to in this table entry. A value of 0.0.0.0
        indicates this entry is not in use."
    ::= { rsRadiusAuthClientServerEntry 1 }

rsRadiusAuthClientServerPortNumber  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The UDP port the client is using to send requests to
        this server."
    ::= { rsRadiusAuthClientServerEntry 2 }

rsRadiusAuthClientRoundTripTime  OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time interval (in hundredths of a second) between
        the most recent Access-Reply/Access-Challenge and the
        Access-Request that matched it from this RADIUS
        authentication server."
    ::= { rsRadiusAuthClientServerEntry 3 }

-- Request/Response statistics
--
-- TotalIncomingPackets = Accepts + Rejects + Challenges + UnknownTypes
--
-- TotalIncomingPackets - MalformedResponses - BadAuthenticators -
-- UnknownTypes - PacketsDropped = Successfully received
--
-- AccessRequests + PendingRequests + ClientTimeouts = Successfully Received
--
--

rsRadiusAuthClientAccessRequests OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Access-Request packets sent
        to this server. This does not include retransmissions."
    ::= { rsRadiusAuthClientServerEntry 4 }

rsRadiusAuthClientAccessRetransmissions OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Access-Request packets
        retransmitted to this RADIUS authentication server."
    ::= { rsRadiusAuthClientServerEntry 5 }

rsRadiusAuthClientAccessAccepts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Access-Accept packets
        (valid or invalid) received from this server."
    ::= { rsRadiusAuthClientServerEntry 6 }

rsRadiusAuthClientAccessRejects OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Access-Reject packets
        (valid or invalid) received from this server."
    ::= { rsRadiusAuthClientServerEntry  7 }

rsRadiusAuthClientAccessChallenges OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Access-Challenge packets
        (valid or invalid) received from this server."
    ::= { rsRadiusAuthClientServerEntry 8 }

-- "Access-Response" includes an Access-Accept, Access-Challenge
-- or Access-Reject

rsRadiusAuthClientMalformedAccessResponses OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of malformed RADIUS Access-Response
        packets received from this server.
        Malformed packets include packets with
        an invalid length. Bad authenticators or
        Signature attributes or unknown types are not
        included as malformed access responses."
    ::= { rsRadiusAuthClientServerEntry 9 }

rsRadiusAuthClientBadAuthenticators OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Access-Response packets
        containing invalid authenticators or Signature
        attributes received from this server."
    ::= { rsRadiusAuthClientServerEntry 10 }

rsRadiusAuthClientPendingRequests OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Access-Request packets
        destined for this server that have not yet timed out
        or received a response. This variable is incremented
        when an Access-Request is sent and decremented due to
        receipt of an Acess-Accept, Access-Reject or Access-Challenge,
        a timeout or retransmission."
    ::= { rsRadiusAuthClientServerEntry 11 }

rsRadiusAuthClientTimeouts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of authentication timeouts to this server.
        After a timeout the client may retry to the same
        server, send to a different server, or
        give up. A retry to the same server is counted as a
        retransmit as well as a timeout. A send to a different
        server is counted as a Request as well as a timeout."
    ::= { rsRadiusAuthClientServerEntry  12 }

rsRadiusAuthClientUnknownTypes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS packets of unknown type which
        were received from this server on the authentication port."
    ::= { rsRadiusAuthClientServerEntry  13 }

rsRadiusAuthClientPacketsDropped OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS packets of which were
        received from this server on the authentication port
        and dropped for some other reason."
    ::= { rsRadiusAuthClientServerEntry  14 }

--
-- Configuration of RADIUS authentication servers
-- 
rsRadiusAuthClientCfgServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsRadiusAuthClientCfgServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The (conceptual) table listing the RADIUS authentication
        servers with which the client shares a secret."
    ::= { rsRadiusAuthClient 3 }

rsRadiusAuthClientCfgServerEntry OBJECT-TYPE
    SYNTAX      RsRadiusAuthClientCfgServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry (conceptual row) representing a RADIUS
        authentication server with which the client shares a secret."
    INDEX      { rsRadiusAuthClientServerAddress }
    ::= { rsRadiusAuthClientCfgServerTable 1 }

RsRadiusAuthClientCfgServerEntry ::= SEQUENCE {
    rsRadiusAuthClientCfgServerAddress                   IpAddress,
    rsRadiusAuthClientCfgServerPortNumber                Integer32,
    rsRadiusAuthClientCfgKey                             DisplayString,
    rsRadiusAuthClientCfgTimeoutInterval                 Integer32,
    rsRadiusAuthClientCfgRetries                         Integer32,
    rsRadiusAuthClientCfgMaxPendingRequests              Integer32,
    rsRadiusAuthClientCfgRowStatus                       RowStatus,
    rsRadiusAuthClientCfgPrecedence                      Integer32,
    rsRadiusAuthClientCfgDeadTime                        Integer32
}

rsRadiusAuthClientCfgServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP address of the RADIUS authentication server
        referred to in this table entry."
    ::= { rsRadiusAuthClientCfgServerEntry 1 }

rsRadiusAuthClientCfgServerPortNumber  OBJECT-TYPE
    SYNTAX      Integer32(1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The UDP port the client is using to send requests to
        this server. Default is 1812."
    DEFVAL { 1812 }
    ::= { rsRadiusAuthClientCfgServerEntry 2 }

rsRadiusAuthClientCfgKey OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The secret (RADIUS authenticator) used by the client during 
        exchanges with this authentication server. The default 
        is a zero-length string, indicating no authenticator is used."
    DEFVAL { ''H }
    ::= { rsRadiusAuthClientCfgServerEntry  3 }

rsRadiusAuthClientCfgTimeoutInterval OBJECT-TYPE
    SYNTAX      Integer32(3..10)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The interval between retransmissions of a request to this
        authentication server. The default is 3."
    DEFVAL { 3 }
    ::= { rsRadiusAuthClientCfgServerEntry  4 }

rsRadiusAuthClientCfgRetries OBJECT-TYPE
    SYNTAX      Integer32(0..16)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum number of times to resend a request to this
        authentication server (in addition to the original request), 
        before resorting to the server specified in the next entry. 
        The default is 3."
    DEFVAL { 3 }
    ::= { rsRadiusAuthClientCfgServerEntry  5 }

rsRadiusAuthClientCfgMaxPendingRequests OBJECT-TYPE
    SYNTAX      Integer32(10..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum number of outstanding requests this server can
        support. The default is 255."
    DEFVAL { 255 }
    ::= { rsRadiusAuthClientCfgServerEntry  6 }

rsRadiusAuthClientCfgRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Supports 'createAndGo' and 'destroy' only."
    ::= { rsRadiusAuthClientCfgServerEntry  7 }

rsRadiusAuthClientCfgPrecedence OBJECT-TYPE
    SYNTAX      Integer32(0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Relative precedence of this server with respect to other
        servers configured in this table. Lower values correspond
        to higher precedence.
        
        Precedence is assigned by the device, in order of entry
        creation, from higher to lower precedence."
    ::= { rsRadiusAuthClientCfgServerEntry  8 }

rsRadiusAuthClientCfgDeadTime OBJECT-TYPE
    SYNTAX      Integer32(0..30)
    UNITS       "minutes"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The period of time, in minutes, to ignore this server after
        a request to the server times out (thereby avoiding additional
        request timeouts for this period, if the server failure persists)."
    DEFVAL { 5 }
    ::= { rsRadiusAuthClientCfgServerEntry  9 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects for RADIUS Accounting
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRadiusAcctClientInvalidServerAddresses OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Accounting-Response packets
        received from unknown addresses."
    ::= { rsRadiusAcctClient 1 }

--
-- Statistics for RADIUS accounting servers
-- 
rsRadiusAcctClientServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsRadiusAcctClientServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The (conceptual) table listing the RADIUS accounting
        servers with which the client shares a secret."
    ::= { rsRadiusAcctClient 2 }

rsRadiusAcctClientServerEntry OBJECT-TYPE
    SYNTAX      RsRadiusAcctClientServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry (conceptual row) representing a RADIUS
        accounting server with which the client shares a secret."
    INDEX      { rsRadiusAcctClientServerAddress }
    ::= { rsRadiusAcctClientServerTable 1 }

RsRadiusAcctClientServerEntry ::= SEQUENCE {
    rsRadiusAcctClientServerAddress                   IpAddress,
    rsRadiusAcctClientServerPortNumber                Integer32,
    rsRadiusAcctClientRoundTripTime                   TimeTicks,
    rsRadiusAcctClientRequests                        Counter32,
    rsRadiusAcctClientRetransmissions                 Counter32,
    rsRadiusAcctClientResponses                       Counter32,
    rsRadiusAcctClientMalformedResponses              Counter32,
    rsRadiusAcctClientBadAuthenticators               Counter32,
    rsRadiusAcctClientPendingRequests                 Gauge32,
    rsRadiusAcctClientTimeouts                        Counter32,
    rsRadiusAcctClientUnknownTypes                    Counter32,
    rsRadiusAcctClientPacketsDropped                  Counter32
}

rsRadiusAcctClientServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP address of the RADIUS accounting server
        referred to in this table entry. A value of 0.0.0.0
        indicates this entry is not in use."
    ::= { rsRadiusAcctClientServerEntry 1 }

rsRadiusAcctClientServerPortNumber  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The UDP port the client is using to send requests to
        this server."
    ::= { rsRadiusAcctClientServerEntry 2 }

rsRadiusAcctClientRoundTripTime  OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time interval between the most recent
        Accounting-Response and the Accounting-Request that
        matched it from this RADIUS accounting server."
    ::= { rsRadiusAcctClientServerEntry 3 }

-- Request/Response statistics
--
-- Requests = Responses + PendingRequests + ClientTimeouts
--
-- Responses - MalformedResponses - BadAuthenticators -
-- UnknownTypes - PacketsDropped = Successfully received

rsRadiusAcctClientRequests OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Accounting-Request packets
        sent. This does not include retransmissions."
    ::= { rsRadiusAcctClientServerEntry 4 }

rsRadiusAcctClientRetransmissions OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Accounting-Request packets
        retransmitted to this RADIUS accounting server.
        Retransmissions include retries where the
        Identifier and Acct-Delay have been updated, as
        well as those in which they remain the same."
    ::= { rsRadiusAcctClientServerEntry 5 }

rsRadiusAcctClientResponses OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS packets received on the
        accounting port from this server."
    ::= { rsRadiusAcctClientServerEntry 6 }

rsRadiusAcctClientMalformedResponses OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of malformed RADIUS Accounting-Response
        packets received from this server. Malformed packets
        include packets with an invalid length. Bad
        authenticators and unknown types are not included as
        malformed accounting responses."
    ::= { rsRadiusAcctClientServerEntry 7 }

rsRadiusAcctClientBadAuthenticators OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Accounting-Response
        packets which contained invalid authenticators
        received from this server."
    ::= { rsRadiusAcctClientServerEntry 8 }

rsRadiusAcctClientPendingRequests OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS Accounting-Request packets
        sent to this server that have not yet timed out or
        received a response. This variable is incremented when an
        Accounting-Request is sent and decremented due to
        receipt of an Accounting-Response, a timeout or
        a retransmission."
    ::= { rsRadiusAcctClientServerEntry 9 }

rsRadiusAcctClientTimeouts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of accounting timeouts to this server.
        After a timeout the client may retry to the same
        server, send to a different server, or give up.
        A retry to the same server is counted as a
        retransmit as well as a timeout. A send to a different
        server is counted as an Accounting-Request as well as a timeout."
    ::= { rsRadiusAcctClientServerEntry  10 }

rsRadiusAcctClientUnknownTypes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS packets of unknown type which
        were received from this server on the accounting port."
    ::= { rsRadiusAcctClientServerEntry  11 }

rsRadiusAcctClientPacketsDropped OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of RADIUS packets which were received from
        this server on the accounting port and dropped for some other
        reason."
    ::= { rsRadiusAcctClientServerEntry  12 }

--
-- Configuration of RADIUS accounting servers
-- 
rsRadiusAcctClientCfgServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsRadiusAcctClientCfgServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The (conceptual) table listing the RADIUS accounting
        servers with which the client shares a secret."
    ::= { rsRadiusAcctClient 3 }

rsRadiusAcctClientCfgServerEntry OBJECT-TYPE
    SYNTAX      RsRadiusAcctClientCfgServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry (conceptual row) representing a RADIUS
        accounting server with which the client shares a secret."
    INDEX      { rsRadiusAcctClientServerAddress }
    ::= { rsRadiusAcctClientCfgServerTable 1 }

RsRadiusAcctClientCfgServerEntry ::= SEQUENCE {
    rsRadiusAcctClientCfgServerAddress                   IpAddress,
    rsRadiusAcctClientCfgServerPortNumber                Integer32,
    rsRadiusAcctClientCfgKey                             DisplayString,
    rsRadiusAcctClientCfgTimeoutInterval                 Integer32,
    rsRadiusAcctClientCfgRetries                         Integer32,
    rsRadiusAcctClientCfgMaxPendingRequests              Integer32,
    rsRadiusAcctClientCfgRowStatus                       RowStatus,
    rsRadiusAcctClientCfgPrecedence                      Integer32,
    rsRadiusAcctClientCfgDeadTime                        Integer32
}

rsRadiusAcctClientCfgServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP address of the RADIUS accounting server
        referred to in this table entry."
    ::= { rsRadiusAcctClientCfgServerEntry 1 }

rsRadiusAcctClientCfgServerPortNumber  OBJECT-TYPE
    SYNTAX      Integer32(1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The UDP port the client is using to send requests to
        this server. Default is 1813."
    DEFVAL { 1813 }
    ::= { rsRadiusAcctClientCfgServerEntry 2 }

rsRadiusAcctClientCfgKey OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The secret (RADIUS authenticator) used by the client during 
        exchanges with this accounting server. The default 
        is a zero-length string, indicating no authenticator is used."
    DEFVAL { ''H }
    ::= { rsRadiusAcctClientCfgServerEntry  3 }

rsRadiusAcctClientCfgTimeoutInterval OBJECT-TYPE
    SYNTAX      Integer32(3..10)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The interval between retransmissions of a request to this
        accounting server. The default is 3."
    DEFVAL { 3 }
    ::= { rsRadiusAcctClientCfgServerEntry  4 }

rsRadiusAcctClientCfgRetries OBJECT-TYPE
    SYNTAX      Integer32(0..16)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum number of times to resend a request to this
        accounting server (in addition to the original request), 
        before resorting to the server specified in the next entry.
        The default is 3."
    DEFVAL { 3 }
    ::= { rsRadiusAcctClientCfgServerEntry  5 }

rsRadiusAcctClientCfgMaxPendingRequests OBJECT-TYPE
    SYNTAX      Integer32(10..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum number of outstanding requests this server can
        support. The default is 255."
    DEFVAL { 255 }
    ::= { rsRadiusAcctClientCfgServerEntry  6 }

rsRadiusAcctClientCfgRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Supports 'createAndGo' and 'destroy' only."
    ::= { rsRadiusAcctClientCfgServerEntry  7 }

rsRadiusAcctClientCfgPrecedence OBJECT-TYPE
    SYNTAX      Integer32(0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Relative precedence of this server with respect to other
        servers configured in this table. Lower values correspond
        to higher precedence.
        
        Precedence is assigned by the device, in order of entry
        creation, from higher to lower precedence."
    ::= { rsRadiusAcctClientCfgServerEntry  8 }

rsRadiusAcctClientCfgDeadTime OBJECT-TYPE
    SYNTAX      Integer32(0..30)
    UNITS       "minutes"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The period of time, in minutes, to ignore this server after
        a request to the server times out (thereby avoiding additional
        request timeouts for this period, if the server failure persists)."
    DEFVAL { 5 }
    ::= { rsRadiusAcctClientCfgServerEntry  9 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notification control objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholder follows.

-- rsRadiusClientTrapControl      OBJECT IDENTIFIER ::= { rsRadiusClientMIB 2 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notifications
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholder follows.

-- The following two OBJECT IDENTIFIERS are used to define SNMPv2 
-- Notifications that are easily translated into SNMPv1 Traps.

-- rsRadiusClientTraps            OBJECT IDENTIFIER ::= { rsRadiusClientMIB 3 }
-- rsRadiusClientTrapPrefix       OBJECT IDENTIFIER ::= { rsRadiusClientTraps 0 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Conformance information
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRadiusClientMIBConformance
             OBJECT IDENTIFIER ::= { rsRadiusClientMIB 2 }
rsRadiusClientMIBCompliances
             OBJECT IDENTIFIER ::= { rsRadiusClientMIBConformance 1 }
rsRadiusClientMIBGroups
             OBJECT IDENTIFIER ::= { rsRadiusClientMIBConformance 2 }


-- compliance statements

rsRadiusAuthClientCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for authentication clients
        implementing the Redstone RADIUS Client MIB 
        authentication functionality."
    MODULE  -- this module
    MANDATORY-GROUPS { rsRadiusGeneralClientGroup, rsRadiusAuthClientGroup }
    ::= { rsRadiusClientMIBCompliances 1 }


rsRadiusAcctClientCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for accounting clients
        implementing the Redstone RADIUS Client MIB
        accounting functionality."
    MODULE  -- this module
    MANDATORY-GROUPS { rsRadiusGeneralClientGroup, rsRadiusAcctClientGroup }
    ::= { rsRadiusClientMIBCompliances 2 }

-- units of conformance

rsRadiusGeneralClientGroup OBJECT-GROUP
    OBJECTS {
        rsRadiusClientIdentifier,
        rsRadiusClientAlgorithm
        }
    STATUS      current
    DESCRIPTION
        "The basic collection of objects providing management of
        RADIUS Clients."
    ::= { rsRadiusClientMIBGroups 1 }

rsRadiusAuthClientGroup OBJECT-GROUP
    OBJECTS {
        rsRadiusAuthClientInvalidServerAddresses,

        rsRadiusAuthClientServerPortNumber,
        rsRadiusAuthClientRoundTripTime,
        rsRadiusAuthClientAccessRequests,
        rsRadiusAuthClientAccessRetransmissions,
        rsRadiusAuthClientAccessAccepts,
        rsRadiusAuthClientAccessRejects,
        rsRadiusAuthClientAccessChallenges,
        rsRadiusAuthClientMalformedAccessResponses,
        rsRadiusAuthClientBadAuthenticators,
        rsRadiusAuthClientPendingRequests,
        rsRadiusAuthClientTimeouts,
        rsRadiusAuthClientUnknownTypes,
        rsRadiusAuthClientPacketsDropped,

        rsRadiusAuthClientCfgServerPortNumber,
        rsRadiusAuthClientCfgKey,
        rsRadiusAuthClientCfgTimeoutInterval,
        rsRadiusAuthClientCfgRetries,
        rsRadiusAuthClientCfgMaxPendingRequests,
        rsRadiusAuthClientCfgRowStatus,
        rsRadiusAuthClientCfgPrecedence,
        rsRadiusAuthClientCfgDeadTime
        }
    STATUS      current
    DESCRIPTION
        "The basic collection of objects providing management of
        RADIUS Authentication Clients."
    ::= { rsRadiusClientMIBGroups 2 }

rsRadiusAcctClientGroup OBJECT-GROUP
    OBJECTS { 
        rsRadiusAcctClientInvalidServerAddresses,

        rsRadiusAcctClientServerPortNumber,
        rsRadiusAcctClientRoundTripTime,
        rsRadiusAcctClientRequests,
        rsRadiusAcctClientRetransmissions,
        rsRadiusAcctClientResponses,
        rsRadiusAcctClientMalformedResponses,
        rsRadiusAcctClientBadAuthenticators,
        rsRadiusAcctClientPendingRequests,
        rsRadiusAcctClientTimeouts,
        rsRadiusAcctClientUnknownTypes,
        rsRadiusAcctClientPacketsDropped,

        rsRadiusAcctClientCfgServerPortNumber,
        rsRadiusAcctClientCfgKey,
        rsRadiusAcctClientCfgTimeoutInterval,
        rsRadiusAcctClientCfgRetries,
        rsRadiusAcctClientCfgMaxPendingRequests,
        rsRadiusAcctClientCfgRowStatus,
        rsRadiusAcctClientCfgPrecedence,
        rsRadiusAcctClientCfgDeadTime
    }
    STATUS      current
    DESCRIPTION
        "The basic collection of objects providing management of
        RADIUS Accounting Clients."
    ::= { rsRadiusClientMIBGroups 3 }

END